#ifndef STDINT_H_PORTING_FOR_MSVC
#define STDINT_H_PORTING_FOR_MSVC

/************************************************************************/
/*                        relative links                                */
/************************************************************************/
/*
*/

/************************************************************************/
/*                     Copyright declaration                            */
/*                         (MIT license)                                */
/************************************************************************/
/*
Copyright (c) 2009,Roc King

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/

#ifndef _MSC_VER
#error this header only for msvc
#else
#endif

    /** ---- 7.18.1 Integer types ---- */

/** ---- 7.18.1.1 Exact-width integer types ---- */
typedef signed   __int8   int8_t;
typedef          __int16  int16_t;
typedef          __int32  int32_t;
typedef          __int64  int64_t;
typedef unsigned __int8   uint8_t;
typedef unsigned __int16  uint16_t;
typedef unsigned __int32  uint32_t;
typedef unsigned __int64  uint64_t;

/** ---- 7.18.1.2 Minimum-width integer types ---- */
/* unnecessary for callback-currying, unsupported!
typedef int_least8_t;
typedef uint_least8_t;
typedef int_least16_t;
typedef uint_least16_t;
typedef int_least32_t;
typedef uint_least32_t;
typedef int_least64_t;
typedef uint_least64_t;
*/

/** ---- 7.18.1.3 Fastest minimum-width integer types ---- */
/* unnecessary for callback-currying, unsupported!
typedef int_fast8_t;
typedef uint_fast8_t;
typedef int_fast16_t;
typedef uint_fast16_t;
typedef int_fast32_t;
typedef uint_fast32_t;
typedef int_fast64_t;
typedef uint_fast64_t;
*/

/** ---- 7.18.1.4 Integer types capable of holding object pointers ---- */
typedef int intptr_t;
typedef unsigned uintptr_t;
/* ---- 7.18.1.5 Greatest-width integer types ---- */



    /* ---- 7.18.2 Limits of specified-width integer types ---- */
/* ---- 7.18.2.1 Limits of exact-width integer types ---- */
/* ---- 7.18.2.2 Limits of minimum-width integer types ---- */
/* ---- 7.18.2.3 Limits of fastest minimum-width integer types ---- */
/* ---- 7.18.2.4 Limits of integer types capable of holding object pointers ---- */
/* ---- 7.18.2.5 Limits of greatest-width integer types ---- */

    /* ---- 7.18.3 Limits of other integer types ---- */
    /* ---- 7.18.4 Macros for integer constants ---- */
/* ---- 7.18.4.1 Macros for minimum-width integer constants ---- */
/* ---- 7.18.4.2 Macros for greatest-width integer constants ---- */


#endif  /* #ifndef STDINT_H_PORTING_FOR_MSVC */
